package com.vpx.server.service.system;
import com.vpx.server.bean.order.base.BaseDeleteOrder;
import com.vpx.server.bean.order.base.BaseIdOrder;
import com.vpx.server.bean.order.system.*;
import com.vpx.server.bean.result.base.BaseDeleteResult;
import com.vpx.server.bean.result.system.SysUserPageResult;
import com.vpx.server.bean.result.system.SysUserResult;
import com.vpx.server.bean.result.system.SysUserRoleResult;
import com.vpx.server.framework.base.BaseResult;
import com.vpx.server.framework.base.ResultMsg;

/**
 * @author liuks
 * @title: vpx
 * @module: 用户管理
 * @description: 用户管理服务
 * @date 2021/09/11 13:34
 */
public interface SysUserService {

    /**
     * 新增用户
     * @param order
     * @return
     */
    ResultMsg insert(SysUserOrder order);

    /**
     * 修改用户
     * @param order
     * @return
     */
    ResultMsg updateById(SysUserOrder order);

    /**
     * 删除用户
     *
     * @param order
     * @return
     */
    ResultMsg deleteById(BaseDeleteOrder order);

    /**
     * 查询用户
     * @param order
     * @return
     */
    ResultMsg<SysUserResult> findById(BaseIdOrder order);

    /**
     * 分页查询用户
     * @param order
     * @return
     */
    ResultMsg<SysUserPageResult> pageQuery(SysUserPageOrder order);

    /**
     * 查询用户角色
     * @param order
     * @return
     */
    ResultMsg<SysUserRoleResult> findUserRoleById(BaseIdOrder order);

    /**
     * 保存用户角色
     * @param order
     * @return
     */
    ResultMsg saveUserRoleList(UserRoleListOrder order);

    /**
     * 重置用户密码
     * @param order
     * @return
     */
    ResultMsg resetUserPassword(BaseIdOrder order);

    /**
     * 修改用户密码
     * @param order
     * @return
     */
    ResultMsg updateUserPassword(UserPasswordOrder order);



}
